The present invention generally relates to database technology and, more specifically, is directed to a methods and systems for handling incoming data requests considering the accuracy of prepared results to be returned to a data request.
A common problem in database technology is to ensure short response times to database queries or requests which require complex, long and resource-intensive processing, e.g., due to large volumes of data. For example, such computing-power consuming processing has to be performed in response to so-called “open queries” which contain only little input information (e.g., only one or two parameters out of a dozen possible parameters are specified and/or the specified value ranges of the parameters are broad) and, consequently, lead to a large number of results in general. Possibilities to speed up data processing by increasing hardware performance are limited. Thus, attention is drawn to improving the mechanisms underlying the complex, long and resource-intensive processing in order to respond to such queries.
A general approach to shorten response times is to prepare results to be returned in response to expected requests (e.g., by pre-computing or pre-collecting such results) and to maintain the corresponding query results in a pool of prepared results. Requests are then actually not processed and responses on the basis of the large original data basis, but are directed to the pool of prepared results.
Another issue, however, which accompanies such result preparing approaches, is to keep the prepared results up-to-date in order to ensure that prepared results returned in response to data requests correctly reflect the outcome of a complex, long and resource-intensive processing. In case the underlying original data basis changes, the prepared results get outdated and answering requests on the basis of the pool of prepared results would deliver incorrect prepared results. Thus, update strategies are employed to keep the pool of prepared results up-to-date.
Various relatively simple update strategies are known in the prior art like, for example, re-computing the entire domain of prepared results frequently, establishing and maintaining re-computation schedules manually and re-computing prepared results when they are getting too old.
Improved methods and systems are needed for handling incoming data requests considering the accuracy of prepared results to be returned to a data request.